/**
 * 更新柱状图最大宽度
 * @param {*} value - 最大宽度值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBarMaxWidth(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            if (series.type === 'bar') {
                series.barMaxWidth = value;
            }
        });
    }
    return currentOptions;
}

/**
 * 更新系列项样式边框圆角
 * @param {string|number|Array} value - 圆角值，可以是数字或数组
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesItemStyleBorderRadius(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.itemStyle = series.itemStyle || {};
            series.itemStyle.borderRadius = Array.isArray(value) ? value : parseInt(value, 10);
        });
    }
    return currentOptions;
}

/**
 * 更新柱状图系列之间的间距
 * @param {*} value - 间距值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBarGap(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            if (series.type === 'bar') {
                series.barGap = value;
            }
        });
    }
    return currentOptions;
}

/**
 * 更新柱状图最小高度
 * @param {*} value - 最小高度值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBarMinHeight(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            if (series.type === 'bar') {
                series.barMinHeight = value;
            }
        });
    }
    return currentOptions;
}

/**
 * 更新系列是否显示背景
 * @param {string} value - 是否显示，'true'表示显示
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesShowBackground(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.showBackground = value === 'true';
        });
    }
    return currentOptions;
}

/**
 * 更新系列背景样式颜色
 * @param {string} value - 颜色值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBackgroundStyleColor(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.backgroundStyle = series.backgroundStyle || {};
            series.backgroundStyle.color = value;
        });
    }
    return currentOptions;
}

/**
 * 更新系列背景样式边框颜色
 * @param {string} value - 颜色值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBackgroundStyleBorderColor(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.backgroundStyle = series.backgroundStyle || {};
            series.backgroundStyle.borderColor = value;
        });
    }
    return currentOptions;
}

/**
 * 更新系列背景样式边框宽度
 * @param {*} value - 边框宽度值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBackgroundStyleBorderWidth(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.backgroundStyle = series.backgroundStyle || {};
            series.backgroundStyle.borderWidth = value;
        });
    }
    return currentOptions;
}

/**
 * 更新系列背景样式边框类型
 * @param {string} value - 边框类型（如'solid'、'dashed'等）
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBackgroundStyleBorderType(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.backgroundStyle = series.backgroundStyle || {};
            series.backgroundStyle.borderType = value;
        });
    }
    return currentOptions;
}

/**
 * 更新系列背景样式透明度
 * @param {*} value - 透明度值（0-1之间）
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBackgroundStyleOpacity(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.backgroundStyle = series.backgroundStyle || {};
            series.backgroundStyle.opacity = value;
        });
    }
    return currentOptions;
}

/**
 * 更新柱状图最小宽度
 * @param {*} value - 最小宽度值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBarMinWidth(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            if (series.type === 'bar') {
                series.barMinWidth = value;
            }
        });
    }
    return currentOptions;
}

/**
 * 更新系列高亮状态项样式阴影模糊度
 * @param {*} value - 阴影模糊度值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesEmphasisItemStyleShadowBlur(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.emphasis = series.emphasis || {};
            series.emphasis.itemStyle = series.emphasis.itemStyle || {};
            series.emphasis.itemStyle.shadowBlur = value;
        });
    }
    return currentOptions;
}

/**
 * 更新系列高亮状态项样式阴影颜色
 * @param {string} value - 阴影颜色值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesEmphasisItemStyleShadowColor(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            series.emphasis = series.emphasis || {};
            series.emphasis.itemStyle = series.emphasis.itemStyle || {};
            series.emphasis.itemStyle.shadowColor = value;
        });
    }
    return currentOptions;
}

/**
 * 更新柱状图类目间距
 * @param {*} value - 类目间距值
 * @param {Object} currentOptions - 当前图表配置选项
 * @returns {Object} 更新后的图表配置选项
 */
function updateSeriesBarCategoryGap(value, currentOptions) {
    if (currentOptions.series && Array.isArray(currentOptions.series)) {
        currentOptions.series.forEach(series => {
            if (series.type === 'bar') {
                series.barCategoryGap = value;
            }
        });
    }
    return currentOptions;
}
